

--migração de produtos
set identity_insert Produto on
insert into Produto(
Codigo,
Descricao, 
CodSecao, 
Unidade, 
NCM, 
ProdutoBal, 
TipoBalanca, 
CodigoBalanca,
DescricaoBalanca,
Ativo, 
PermiteDecimal, 
DescricaoResumida)
select 
prd.Código,
rtrim(ltrim(prd.Nome)), 
1, 
'UN', 
'',
'N', 
'P', 
0,
rtrim(ltrim(substring(prd.Nome,1,22))),
'S', 
'N', 
rtrim(ltrim(substring(prd.Nome,1,22)))
from Produtos_Lucas as prd
--where prd.Codigo_prd > 1
set identity_insert Produto off


-- insere tributação
update Produto
set CodTributacao = OutraTabela.Codigo_gTr
from (select Codigo_prd, Codigo_gTr from Dados_db..ProdutosTributacao_tb where codigo_emp = 2) as OutraTabela
where OutraTabela.Codigo_prd = Produto.Codigo

-- atualiza o nome da tributação
update Produto
set NomeTributacao = trib.Descricao
from (select Codigo, Descricao from TributacaoC) as Trib
where trib.Codigo = Produto.CodTributacao;

-- atualiza a descrição do ncm
update Produto
set DescricaoNCM = SUBSTRING(n.Descricao, 1,160)
from (select * from NCM) as n
where n.NCM = Produto.NCM

--atualiza a descrição da seção
update Produto
set NomeSecao = sec.Descricao
from (select Codigo, Descricao from Secao) as sec
where sec.Codigo = Produto.CodSecao

delete from ProdutoEstoque

--inserer ProdutoEstoque
insert into ProdutoEstoque(
CodProduto, CodEmp, EstoqueAtual, EstoqueCongelado)
select
prd.Código, 1, 0, 'N'
from Produtos_Lucas as prd


--insere estoque movimentações
insert into Estoque(
CodProduto, TipoMovimento, Quantidade, Entrada, Venda, CodEmp, Data, Observacao)
select
prd.Código, 'E', 0, 0, 0, 1, GETDATE(), 'MIGRAÇÃO'
from Produtos_Lucas as prd



-- insere CEST
update NCM
set CEST = CEST_ncm
from (select codigo_ncm, CEST_ncm from Dados_db..NCM_tb) as ncmoutro
where NCM = ncmoutro.Codigo_NCM

-- insere preço
insert into ProdutoPreco(
CodProduto,
CodEmp,
PrecoCusto,
PrecoVenda,
PrecoVendaPrazo
)
select 
prd.Código,
1,
prd.Preço,
prd.Preço,
prd.Preço
from Produtos_Lucas as prd



--inserer EAN
insert into EAN(
EAN, CodProduto)
select
prd.[EAN / GTIN], prd.Código
from Produtos_Lucas as prd
where prd.[EAN / GTIN] is not null



update ProdutoPreco set PrecoPromocao = 0, DataInicioPromocao = '1900-01-01', DataFimPromocao = '1900-01-01', DiferencaGelado = 0;

update ProdutoEstoque set EstoqueMinimo = 0, EstoqueMaximo = 0


update Produto
set Ativo = 'N'
from (select Codigo_prd, ProdutoInativo_prd from Dados_db..Produtos_tb) as n
where n.Codigo_prd = Produto.Codigo and n.ProdutoInativo_prd = 'S'

---ACERTA GELADO
update ProdutoPreco 
set DiferencaGelado = preco
from (SELECT PrecoVenda_prd * AcrescGelado_prd / 100  as preco, Codigo_prd, AcrescGelado_prd
FROM Dados_db..ProdutosPreco_tb WHERE codigo_emp = 1) as lck
where lck.Codigo_prd = ProdutoPreco.CodProduto and lck.AcrescGelado_prd > 0

update Produto
set DescricaoCompleta = '';